<!-- 蓝色简洁登录页面 -->
<template>
	<view class="t-login">
		<!-- 页面装饰图片 -->
		<image class="img-a" src="@/static/2.png"></image>
		<image class="img-b" src="@/static/3.png"></image>
		<!-- 标题 -->
		<view class="t-b">{{ Data.title }}</view>
		<form class="cl">
			<view class="t-a">
				<image src="@/static/sj.png"></image>
				<input name="phone" placeholder="请输入用户名" v-model="Data.username" />
			</view>
			<view class="t-a">
				<image src="@/static/yz.png"></image>
				<input type="password" placeholder="请输入密码" v-model="Data.password" />
			</view>
			<button @tap="clickLogin()">登 录</button>
		</form>
		<view class="t-f"><text>————— 第三方账号登录 —————</text></view>
		<view class="t-e cl">
			<view class="t-g" @tap="wxLogin()">
				<image src="@/static/wx.png"></image>
			</view>
			<view class="t-g" @tap="zfbLogin()">
				<image src="@/static/qq.png"></image>
			</view>
		</view>
	</view>
</template>
<script setup>
	import useUserStore from '@/stores/store/user.js'
	const userInfoStore = useUserStore()
	import useTokenStore from '@/stores/store/token.js'
	const tokenStore = useTokenStore()
	import overallRequest from "@/utool/http/http.js"
	import {
		watch,
		reactive
	} from "vue";

	import {
		onBackPress
	} from '@dcloudio/uni-app'	
	
	onBackPress((event)=>{
		console.log(event);
		return true
	})
	const Data = reactive({
		loading: false, // 登录进度加载
		title: '欢迎回来！', //填写logo或者app名称，也可以用：欢迎回来，看您需求
		second: 60, //默认60秒
		showText: true, //判断短信是否发送
		username: '', //手机号码
		password: '' //验证码
	})
	watch(() => Data.loading, (newVal) => {
		if (!newVal) {
			uni.hideLoading()
		}
	})
	
	function clickLogin() {
		let loading = Data.loading
		if (!loading) {
			login()
		}
	}
	// 服务器版登录
	function login() {
		let {
			username,
			password
		} = Data
		if (!username) {
			uni.showToast({
				title: '请输入用户名',
				icon: 'none'
			});
			return;
		} else if (!password) {
			uni.showToast({
				title: '请输入密码',
				icon: 'none'
			});
			return;
		}
		uni.showLoading({
			title: "正在登录中"
		})
		overallRequest("/user/login", {
			method: "POST",
			data: {
				username,
				password
			}
		}).then(res => {
			let data = res.data
			let {
				userInfo,
				token
			} = data
			Data.loading = false
			// 将用户信息存入Store
			userInfoStore.login(token, userInfo)
			uni.showToast({
				title: '登录成功！',
				icon: 'none'
			});
			let page = "/pages/Tarbar/Index/index"
			uni.switchTab({
				url: page
			})
		}).catch(err => {
			Data.loading = false
			uni.showToast({
				title: '登录失败！',
				icon: 'none'
			});
		})
	}
</script>
<style>
	.img-a {
		position: absolute;
		width: 100%;
		top: -280rpx;
		right: -100rpx;
	}

	.img-b {
		position: absolute;
		width: 50%;
		bottom: 0;
		left: -50rpx;
		margin-bottom: -200rpx;
	}

	.t-login {
		width: 600rpx;
		margin: 0 auto;
		font-size: 28rpx;
		color: #000;
	}

	.t-login button {
		font-size: 28rpx;
		background: #5677fc;
		color: #fff;
		height: 90rpx;
		line-height: 90rpx;
		border-radius: 50rpx;
		box-shadow: 0 5px 7px 0 rgba(86, 119, 252, 0.2);
	}

	.t-login input {
		padding: 0 20rpx 0 120rpx;
		height: 90rpx;
		line-height: 90rpx;
		margin-bottom: 50rpx;
		background: #f8f7fc;
		border: 1px solid #e9e9e9;
		font-size: 28rpx;
		border-radius: 50rpx;
	}

	.t-login .t-a {
		position: relative;
	}

	.t-login .t-a image {
		width: 40rpx;
		height: 40rpx;
		position: absolute;
		left: 40rpx;
		top: 28rpx;
		border-right: 2rpx solid #dedede;
		padding-right: 20rpx;
	}

	.t-login .t-b {
		text-align: left;
		font-size: 46rpx;
		color: #000;
		padding: 300rpx 0 120rpx 0;
		font-weight: bold;
	}

	.t-login .t-c {
		position: absolute;
		right: 22rpx;
		top: 22rpx;
		background: #5677fc;
		color: #fff;
		font-size: 24rpx;
		border-radius: 50rpx;
		height: 50rpx;
		line-height: 50rpx;
		padding: 0 25rpx;
	}

	.t-login .t-d {
		text-align: center;
		color: #999;
		margin: 80rpx 0;
	}

	.t-login .t-e {
		text-align: center;
		width: 250rpx;
		margin: 80rpx auto 0;
	}

	.t-login .t-g {
		float: left;
		width: 50%;
	}

	.t-login .t-e image {
		width: 50rpx;
		height: 50rpx;
	}

	.t-login .t-f {
		text-align: center;
		margin: 200rpx 0 0 0;
		color: #666;
	}

	.t-login .t-f text {
		margin-left: 20rpx;
		color: #aaaaaa;
		font-size: 27rpx;
	}

	.t-login .uni-input-placeholder {
		color: #000;
	}

	.cl {
		zoom: 1;
	}

	.cl:after {
		clear: both;
		display: block;
		visibility: hidden;
		height: 0;
		content: '\20';
	}
</style>